001 /* 002 * Created by IntelliJ IDEA. 003 * User: Wei Wang 004 * Date: 2002-8-29 005 * Time: 13:31:24 006 * To change template for new class use 007 * Code Style | Class Templates options (Tools | IDE Options). 008 */ 009 package EVolve.util.predefinedutils; 010 011 import EVolve.*; 012 import EVolve.exceptions.EVolveException; 013 import EVolve.util.predefinedutils.PredefinedVisualization; 014 import EVolve.visualization.*; 015 import EVolve.visualization.VizFactory.VisualizationFactory; 016 017 import java.util.ArrayList; 018 import java.util.HashMap; 019 020 public class PredefinedVisualizationRunner { 021 private ArrayList predefinedVizCollection; 022 private int selected; 023 024 public PredefinedVisualizationRunner() { 025 predefinedVizCollection = new ArrayList(); 026 selected = 0; 027 } 028 029 public int getSelected() { 030 return this.selected; 031 } 032 033 public void setSelected(int selected) { 034 this.selected = selected; 035 } 036 037 public int getPredefinedVisualizationNumber() { 038 return predefinedVizCollection.size(); 039 } 040 041 public String getConfigureName(int index) { 042 return ((PredefinedVisualization)predefinedVizCollection.get(index)).getName(); 043 } 044 045 public PredefinedVisualization getSelectedPredefinedViz() { 046 return predefinedVizCollection.size() == 0 ? null : (PredefinedVisualization)predefinedVizCollection.get(selected); 047 } 048 049 public PredefinedVisualization getPredefinedVizByIndex(int index) { 050 return (PredefinedVisualization)predefinedVizCollection.get(index); 051 } 052 053 public void addPredefinedVisualization(String filename, String configname) { 054 for (int i=0; i<predefinedVizCollection.size(); i++) { 055 PredefinedVisualization viz = (PredefinedVisualization)predefinedVizCollection.get(i); 056 if (viz.getFilename().equals(filename)) { 057 viz.setTranslated(false); 058 viz.setFilename(filename); 059 viz.setName(configname); 060 return; 061 } 062 } 063 PredefinedVisualization viz = new PredefinedVisualization(filename,configname); 064 predefinedVizCollection.add(predefinedVizCollection.size(),viz); 065 } 066 067 public boolean containsConfigure(String name) { 068 069 for (int i=0; i< predefinedVizCollection.size(); i++) { 070 if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) return true; 071 } 072 073 return false; 074 } 075 076 public int getIdFromName(String name) { 077 int retValue = -1; 078 for (int i=0; i< predefinedVizCollection.size(); i++) { 079 if (((PredefinedVisualization)predefinedVizCollection.get(i)).getName().equals(name)) retValue = i; 080 } 081 082 return retValue; 083 } 084 085 public void runPredefinedVisualization() { 086 Visualization visual = null; 087 PredefinedVisualization predefinedViz = getSelectedPredefinedViz(); 088 089 if (predefinedViz == null) return; 090 try { 091 if (!predefinedViz.isTranslated()) 092 predefinedViz.translateVizInfo(); 093 094 } catch (EVolveException e) { 095 Scene.showErrorMessage(e.getMessage()); 096 return; 097 } 098 099 Scene.getVisualizationManager().cleanup(); 100 while (predefinedViz.hasNext()) { 101 VizInfo viz = predefinedViz.getNextVizInfo(); 102 HashMap mapConfig = new HashMap(); 103 mapConfig.put("Factory",viz.getFactory()); 104 mapConfig.put("Subject",viz.getSubject()); 105 mapConfig.put("Dimension",viz.getDimension()); 106 mapConfig.put("Predictor",viz.getPredictor()); 107 mapConfig.put("Interval",new Integer(viz.getInterval())); 108 mapConfig.put("BeginCall",new Long(viz.getBeginCall())); 109 mapConfig.put("EndCall",new Long(viz.getEndCall())); 110 mapConfig.put("Match",new Float(viz.getMatch())); 111 mapConfig.put("Options", viz.getOptions()); 112 113 visual = Scene.getVisualizationManager().newVisualization(((VisualizationFactory)mapConfig.get("Factory")).getName()); 114 115 visual.getWindow().setBounds(viz.getWindowPosition()); 116 visual.setName(viz.getTitle()); 117 visual.autoUpdateConfiguration(mapConfig); 118 } 119 Scene.getVisualizationManager().addAllVisualizations(); 120 Scene.getFilter().updateSelection(); 121 Scene.getVisualizationManager().prepareListToBeVisualized(); 122 Scene.visualize(); 123 predefinedViz.reset(); 124 } 125 }